var db = require('../dbutil/index');
var sql = require('../dbutil/sql');

module.exports={
    add:(req,res)=>{ //从请求体中获取good对象，该对象包含用户ID、商品ID和购买数量等信息
        // 获得good对象
        let good=req.body.good;
        db.query(sql.carts.cartsByUG,[good.uid,good.gid],(err,results)=>{ //sql.carts.cartsByUG查询语句，查询是否已经存在该用户的该商品记录。
            if (err) {
                res.send({ code: 500, message: 'sql执行错误' });
            } else {
                if(results.length>0){
                    db.query(sql.carts.addNum,[good.num,good.uid,good.gid],(err1,results1)=>{ //如果存在，则执行sql.carts.addNum更新语句，将购买数量加到原有记录上；
                        res.send({ code: 200, message: 'ok'});
                    })
                }else{
                    db.query(sql.carts.add,[good.uid,good.gid,good.num],(err2,results2)=>{ //如果不存在，则执行sql.carts.add插入语句，将新的购物车记录插入到数据库中。
                        res.send({ code: 200, message: 'ok'});
                    })
                }
            }
        })
    },
    cartsBU:(req,res)=>{
        let uid=req.body.uid;
        db.query(sql.carts.cartsBU,[uid],(err,results)=>{
            if(err){
                res.send({ code: 500, message: 'sql执行错误'});
            }else{
                res.send({ code: 200, message: 'ok', data:results });
            }
        })
    },
    upNum:(req,res)=>{
        let cartid=req.body.cartid;
        let num=req.body.num;
        db.query(sql.carts.upNum,[num,cartid],(err,results)=>{
            if(err){
                res.send({ code: 500, message: 'sql执行错误'});
            }else{
                res.send({ code: 200, message: 'ok'});
            }
        })
    },
    del:(req,res)=>{
        let cartid=req.body.cartid;
        db.query(sql.carts.del,[cartid],(err,results)=>{
            if(err){
                res.send({ code: 500, message: 'sql执行错误'});
            }else{
                res.send({ code: 200, message: '确定要对购物车商品进行删除吗？'});
            }
        })
    },
    selectdel: (req, res) => {
        let cartids = req.body.cartids;
        db.query(sql.carts.selectdel, [cartids], (err, results) => {
          if (err) {
            res.send({ code: 500, message: 'sql执行错误' });
          } else {
            res.send({ code: 200, message: 'ok' });
          }
        });
      },
    getCount:(req,res)=>{
        let uid=req.body.uid;
        db.query(sql.carts.getCount,[uid],(err,results)=>{
            if(err){
                res.send({ code: 500, message: 'sql执行错误'});
            }else{
                res.send({ code: 200, message: 'ok', data:results[0].cnt });
            }
        })
    }
}